package com.ysy.enums;


import com.ysy.persimmons.common.exception.BaseExceptionInterface;
import lombok.AllArgsConstructor;
import lombok.Getter;

@Getter
@AllArgsConstructor
public enum ResponseCodeEnum implements BaseExceptionInterface {


    // ----------- 通用异常状态码 -----------
    SYSTEM_ERROR("NOTE-500", "系统开小差了，正在努力修复中..."),
    PARAM_NOT_VALID("NOTE-501", "参数错误"),

    // ----------- 业务异常状态码 -----------
    NOTE_TYPE_ERROR("NOTE-50000", "未知的笔记类型"),
    NOTE_PUBLISH_FAIL("NOTE-50001", "笔记发布失败"),
    NOTE_NOT_FOUND("NOTE-50002", "笔记不存在"),
    NOTE_PRIVATE("NOTE-50003", "该笔记仅对作者可见"),
    NOTE_UPDATE_FAIL("NOTE-50004", "笔记更新失败"),
    TOPIC_NOT_FOUND("NOTE-50005", "话题不存在"),
    NOTE_CANT_VISIBLE_ONLY_ME("NOTE-50006", "此笔记无法修改为仅自己可见"),
    NOTE_CANT_OPERATE("NOTE-50007", "您无法操作该笔记"),

    NOTE_ALREADY_LIKED("NOTE-50008", "您已经点赞过该笔记"),
    NOTE_NOT_LIKED("NOTE-50009", "您未点赞该篇笔记，无法取消点赞"),
    NOTE_ALREADY_COLLECTED("NOTE-50010", "您已经收藏过该笔记"),
    NOTE_NOT_COLLECTED("NOTE-50011", "您未收藏该篇笔记，无法取消收藏"),
    NOTE_IMAGE_TENT_NULL("NOTE-50012", "未检测到有效的图文"),
    NOTE_IMAGE_MAX_SIZE("NOTE-50013", "超过图片限制大小"),
    NOTE_VIDEO_MAX_SIZE("NOTE-50014", "笔记视频无效，请检查"),



    NOTE_ALREADY_LIKE("NOTE-50015", "笔记已经点赞成功，请务重复操作"),
    NOTE_NO_LIKE("NOTE-50016", "笔记取消点赞成功，请务重复操作"),


    COLLECT_IS_ME_NOTE("NOTE-50017","无法收藏自己的笔记，个人主页可查看"),
    NOTE_ALREADY_COLLECT("NOTE-50018","笔记已经收藏成功"),
    NOTE_NO_COLLECT("NOTE-50019","笔记已经取消收藏成功，请务重复操作")


    ;

    private String errorCode;
    private String errorMessage;

}
